﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using CivSharp.Common;

namespace EmezenWarchief
{
    public class EmezenWarchief : CivSharp.Common.IPlayer
    {

        IEmezenStrategy strategy = new TerekStrategy();

        public string PlayerName
        {
            get
            {
                return Constants.NAME_PREFIX + strategy.PlayerName;
            }
        }

        public void ActionResult(bool succeeded)
        {
            this.strategy.ActionResult(succeeded);
        }

        public void CityLost(int positionX, int positionY)
        {
            this.strategy.CityLost(positionX, positionY);
        }

        public void EnemyDestroyed(string playerName)
        {
            this.strategy.EnemyDestroyed(playerName);
        }

        public void GameOver(bool winner, string message)
        {
            this.strategy.GameOver(winner, message);
        }

        public CivSharp.Common.BuildingData OnBuilding()
        {
            return this.strategy.OnBuilding() ;
        }

        public CivSharp.Common.MovementData OnMovement()
        {
            return this.strategy.OnMovement() ;
        }

        public CivSharp.Common.ResearchData OnResearch()
        {
            return this.strategy.OnResearch() ;
        }

        public CivSharp.Common.TrainingData OnTraining()
        {
            return this.strategy.OnTraining() ;
        }


        public void UnitLost(string unitID)
        {
            this.strategy.UnitLost(unitID);
        }


        public void RefreshWorldInfo(int turn, WorldInfo world)
        {
            this.strategy.RefreshWorldInfo(turn, world);
        }
    }
}
